USE [EstacionNSX]
GO
/****** Object:  Trigger [dbo].[InsertarVentaHistorico]    Script Date: 18/07/2017 07:40:19 a.m. ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:	<Author,Leonardo Hernandez>
-- Create date: <Create Date,18/07/2017>
-- Description:	<Description,,>
-- =============================================
ALTER TRIGGER [dbo].[InsertarVentaHistorico]
   ON  [dbo].[Venta]
   AFTER Insert
AS 
BEGIN
	
	INSERT INTO [Historico].[HistoricoVenta]
           ([Pk_IdVenta],[FechaInicial]
           ,[FechaFinal],[CantidadTotal]
           ,[ValorTotal],[Fk_IdTipoTransaccion]
           ,[Fk_IdTipoVenta],[Fk_IdIdentificador]
		   ,[IdIdentificadorWeb])
			SELECT [Pk_IdVenta]	,[FechaInicial]
			,[FechaFinal],[CantidadTotal]
			,[ValorTotal],[Fk_IdTipoTransaccion]
			,[Fk_IdTipoVenta],[Fk_IdIdentificador]
			,[IdentificadorWeb]
			FROM inserted;
	


declare @PC varchar(1) = ';', @Espacio varchar(10) = space(1), @Null varchar(4)='null'

INSERT INTO [dbo].[OperacionOnline] ([Operacion],[Reintentos],[IsSubida])
     VALUES
	 ((select concat('Venta;Insert;', 
	 cast(Pk_IdVenta as varchar), @PC,
     convert(varchar, FechaInicial,101), @Espacio, convert(varchar, FechaInicial,108),	@PC,
     convert(varchar, FechaFinal,101)  , @Espacio, convert(varchar, FechaFinal,108),	@PC,
     cast(cast(CantidadTotal as decimal(20,3)) as varchar),@PC,
     cast(cast(ValorTotal as decimal(20,3)) as varchar),@PC,
     cast(Fk_IdTipoTransaccion as varchar),@PC,
     cast(Fk_IdTipoVenta as varchar),@PC,
     isnull(cast(Fk_IdIdentificador as varchar), @Null),@PC,
     isnull(cast(IdentificadorWeb as varchar), @Null),@PC,
	 (select valor from Configuracion where Nombre = 'CodigoOnline'))
	  from inserted),0,'false')

     Delete from Venta where Venta.Pk_IdVenta < (Select Max(Pk_IdVenta) - 200000 from Venta)	

	 INSERT INTO [dbo].[SincronizacionOnline]([Fk_IdVenta],[Sincronizado],[Reintentos],[Fk_IdTipoTransaccion])
	 (
		select 
			Pk_IdVenta,
			0,
			0,
			Fk_IdTipoTransaccion
	  from inserted where Fk_IdTipoTransaccion = 1
	  
	  )


END






